#ifndef VERIFYCODEWIDGET_H
#define VERIFYCODEWIDGET_H

#include <QWidget>
#include <QPaintEvent>
#include <QPainter>
#include <QRandomGenerator>

///////////////////////////////////////////////////////////////////////////////////////////
/// 绘制验证码组件 生成随机数 随机的噪点噪线
///////////////////////////////////////////////////////////////////////////////////////////

class VerifyCodeWidget : public QWidget
{
    Q_OBJECT
public:
    explicit VerifyCodeWidget(QWidget *parent = nullptr);

    //生成验证码
    QString generateVerifyCode();

    //检验验证码是否匹配
    bool checkVerifyCode(const QString& inputCode);

    //重新生成验证码
    void refreshVerifyCode();

    //重写绘制事件
    void paintEvent(QPaintEvent* event) override;

    //鼠标点击
    void mousePressEvent(QMouseEvent* event) override;


private:

    //随机数生成器
    QRandomGenerator randomGenerator;

    //保存验证码的值
    QString verifyCode = "";

signals:
};

#endif // VERIFYCODEWIDGET_H
